Faugère's F4 and F5 algorithms
In computer algebra, the Faugère F4 algorithm, by Jean-Charles Faugère, computes the Gröbner basis of an ideal of a multivariate polynomial ring. The algorithm uses the same mathematical principles as the Buchberger algorithm, but computes many normal forms in one go by forming a generally sparse matrix and using fast linear algebra to do the reductions in parallel. The Faugère F5 algorithm first calculates the Gröbner basis of a pair of generator polynomials of the ideal. Then it uses this basis to reduce the size of the initial matrices of generators for the next larger basis:
If Gprev is an already computed Gröbner basis (f2, …, fm) and we want to compute a Gröbner basis of (f1) + Gprev then we will construct matrices whose rows are m f1 such that m is a monomial not divisible by the leading term of an element of Gprev.
This strategy allows the algorithm to apply two new criteria based on what Faugère calls signatures of polynomials. Thanks to these criteria, the algorithm can compute Gröbner bases for a large class of interesting polynomial systems, called regular sequences, without ever simplifying a single polynomial to zero—the most time-consuming operation in algorithms that compute Gröbner bases. It is also very effective for a large number of non-regular sequences.
Implementations
The Faugère F4 algorithm is implemented
- in FGb, Faugère's own implementation, which includes interfaces for using it from C/C++ or Maple,
- in Maple computer algebra system, as the option method=fgb of function Groebner[gbasis]
- in the Magma computer algebra system,
- in the SageMath computer algebra system,
Study versions of the Faugère F5 algorithm is implemented in[citation needed]
- the SINGULAR computer algebra system;[1]
- the SageMath computer algebra system.
- in SymPy Python package.[2]
Applications
The previously intractable "cyclic 10" problem was solved by F5,[citation needed] as were a number of systems related to cryptography; for example HFE and C*.[citation needed]
References
- ↑ Eder, Christian (2008). "On The Criteria Of The F5 Algorithm". arXiv:0804.2033 [math.AC].
- ↑ "Internals of the Polynomial Manipulation Module — SymPy 1.9 documentation". https://docs.sympy.org/latest/modules/polys/internals.html#groebner-basis-algorithms.
- Faugère, J.-C. (June 1999). "A new efficient algorithm for computing Gröbner bases (F4)". Journal of Pure and Applied Algebra 139 (1): 61–88. doi:10.1016/S0022-4049(99)00005-5. ISSN 0022-4049. http://www-polsys.lip6.fr/~jcf/Papers/F99a.pdf.
- Faugère, J.-C. (July 2002). "A new efficient algorithm for computing Gröbner bases without reduction to zero ( F 5 )". Proceedings of the 2002 international symposium on Symbolic and algebraic computation. ACM Press. pp. 75–83. doi:10.1145/780506.780516. ISBN 978-1-58113-484-1. http://www-polsys.lip6.fr/~jcf/Papers/F02a.pdf.
- Till Stegers Faugère's F5 Algorithm Revisited (alternative link). Diplom-Mathematiker Thesis, advisor Johannes Buchmann, Technische Universität Darmstadt, September 2005 (revised April 27, 2007). Many references, including links to available implementations.
External links
- Faugère's home page (includes pdf reprints of additional papers)
- An introduction to the F4 algorithm.
Original source: https://en.wikipedia.org/wiki/Faugère's F4 and F5 algorithms.
Read more |